package cn.com.wms.Base.pageInfo;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

import org.springframework.beans.BeanUtils;

public class PagingController {
	
	protected boolean flag;
	
	protected PagingBean pageBean=new PagingBean();
	
	public PagingController(){
	}
	//生产流程中日志显示方法
	public String querySysLog(){
		return null;
	}
	//生产流程中偏差警告显示方法
	public String queryDeviationAnalysisBean(){
		return null;
	}
	//显示
	public String queryBean(){
		return null;
	}
	/**
	 * 生产流程中日志分页
	 *  1.syslogFirst 首页
	 *  2.syslogUp 上一页
	 *  3.syslogNext 下一页
	 *  4.syslogLast 尾页
	 */
	public void syslogUp() {
		if(pageBean.getIndexPage()>1) {
    		pageBean.setIndexPage((pageBean.getIndexPage()-1));
		}
		querySysLog();
	}
	
	public void syslogFirst() {
    	pageBean.setIndexPage(1);
    	querySysLog();
	}
	
	public void syslogLast() {
		pageBean.setIndexPage(pageBean.getAllPage());
		querySysLog();
	}
	
	public void syslogNext() {		
		if(pageBean.getIndexPage()<pageBean.getAllPage()){
    		pageBean.setIndexPage((pageBean.getIndexPage()+1));
    	}		
		querySysLog();
	}
	
	/**
	 * 显示
	 *  1.syslogFirst 首页
	 *  2.syslogUp 上一页
	 *  3.syslogNext 下一页
	 *  4.syslogLast 尾页
	 */
	public void beanUp() {
		if(pageBean.getIndexPage()>1) {
    		pageBean.setIndexPage((pageBean.getIndexPage()-1));
		}
		queryBean();
	}
	
	public void beanFirst() {
    	pageBean.setIndexPage(1);
    	queryBean();
	}
	
	public void beanLast() {
		pageBean.setIndexPage(pageBean.getAllPage());
		queryBean();
	}
	
	public void beanNext() {		
		if(pageBean.getIndexPage()<pageBean.getAllPage()){
    		pageBean.setIndexPage((pageBean.getIndexPage()+1));
    	}		
		queryBean();
	}
	/**
	 * 生产流程中偏差警告分页
	 *  1.deviationFirst 首页
	 *  2.deviationUp 上一页
	 *  3.deviationNext 下一页
	 *  4.deviationLast 尾页
	 */
	public void deviationUp() {
		if(pageBean.getIndexPage()>1) {
    		pageBean.setIndexPage((pageBean.getIndexPage()-1));
		}
		queryDeviationAnalysisBean();
	}
	
	public void deviationFirst() {
    	pageBean.setIndexPage(1);
    	queryDeviationAnalysisBean();
	}
	
	public void deviationLast() {
		pageBean.setIndexPage(pageBean.getAllPage());
		queryDeviationAnalysisBean();
	}
	
	public void deviationNext() {		
		if(pageBean.getIndexPage()<pageBean.getAllPage()){
    		pageBean.setIndexPage((pageBean.getIndexPage()+1));
    	}		
		queryDeviationAnalysisBean();
	}
	
	
	
	public String query() {
		return null;
	}
		
	public void commonQuery() {
    	pageBean.setIndexPage(1);
		query();
	}
	
	public void commonUp() {
		if(pageBean.getIndexPage()>1) {
    		pageBean.setIndexPage((pageBean.getIndexPage()-1));
		}
		query();
	}
	
	public void commonFirst() {
    	pageBean.setIndexPage(1);
		query();
	}
	
	public void commonLast() {
		pageBean.setIndexPage(pageBean.getAllPage());
		query();
	}
	
	public void commonNext() {		
		if(pageBean.getIndexPage()<pageBean.getAllPage()){
    		pageBean.setIndexPage((pageBean.getIndexPage()+1));
    	}		
		query();
	}
	
	public String query1() {
		return null;
	}
		
	public void commonQuery1() {
    	pageBean.setIndexPage(1);
		query1();
	}
	
	public void commonUp1() {
		if(pageBean.getIndexPage()>1) {
    		pageBean.setIndexPage((pageBean.getIndexPage()-1));
		}
		query1();
	}
	
	public void commonFirst1() {
    	pageBean.setIndexPage(1);
		query1();
	}
	
	public void commonLast1() {
		pageBean.setIndexPage(pageBean.getAllPage());
		query1();
	}
	
	public void commonNext1() {		
		if(pageBean.getIndexPage()<pageBean.getAllPage()){
    		pageBean.setIndexPage((pageBean.getIndexPage()+1));
    	}		
		query1();
	}
	
	public String query2() {
		return null;
	}
		
	public void commonQuery2() {
    	pageBean.setIndexPage(1);
		query2();
	}
	
	public void commonUp2() {
		if(pageBean.getIndexPage()>1) {
    		pageBean.setIndexPage((pageBean.getIndexPage()-1));
		}
		query2();
	}
	
	public void commonFirst2() {
    	pageBean.setIndexPage(1);
		query2();
	}
	
	public void commonLast2() {
		pageBean.setIndexPage(pageBean.getAllPage());
		query2();
	}
	
	public void commonNext2() {		
		if(pageBean.getIndexPage()<pageBean.getAllPage()){
    		pageBean.setIndexPage((pageBean.getIndexPage()+1));
    	}		
		query2();
	}
	
	//上一页
	public void up(){
		flag=true;
		if(pageBean.getIndexPage()>1) {
    		pageBean.setIndexPage((pageBean.getIndexPage()-1));
		}
	}
	//下一页
	public void next(){
		flag=true;
		if(pageBean.getIndexPage()<pageBean.getAllPage()){
    		pageBean.setIndexPage((pageBean.getIndexPage()+1));
    	}
	}
	//跳转多少页
	public void goTo(){	
	}
	//第一页
	public void first(){
		flag=true;
    	pageBean.setIndexPage(1);
	}
	//最后一页
	public void last(){
		flag=true;
		pageBean.setIndexPage(pageBean.getAllPage());
	}
	//上一页
	public void up(Class<?> cla,String method,Object obj){
		up();
		call(cla,method,obj);
	}
	//下一页
	public void next(Class<?> cla,String method,Object obj){
		next();
		call(cla,method,obj);
	}
	//跳转多少页
	public void goTo(Class<?> cla,String method,Object obj){
		
	}
	//第一页
	public void first(Class<?> cla,String method,Object obj){
		first();
		call(cla,method,obj);
	}
	//最后一页
	public void last(Class<?> cla,String method,Object obj){
		last();
		call(cla,method,obj);
	}
	private void call(Class<?> cla,String method,Object obj){
		try {
			Method met = BeanUtils.findMethodWithMinimalParameters(cla,method);
			met.invoke(obj, new Object[]{});
		}  catch (IllegalAccessException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IllegalArgumentException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public PagingBean getPageBean() {
		return pageBean;
	}
	public void setPageBean(PagingBean pageBean) {
		this.pageBean = pageBean;
	}
	
}
